1. Technical Field
The present invention is directed to an improved data processing system. More specifically, the present invention is directed to an apparatus and method for porting applications to different platforms.
2. Description of Related Art
To port applications from one operating system platform to another operating system platform may be very difficult because the target platform may not make use of the same or similar filesystem as the original platform on which the application was developed. For example, a Unix operating system filesystem is hierarchical and thus, allows for directories within directories. Moreover, the filenames in any of the directories can be up to 254 characters in length. An example of filenames in this type of filesystem may be:    /dirName1/dirName2/then_a_file_name_which_can_be_long_like_this; and    /dirName1/dirName2/dirName3/then_a_file_name_which_can_be_long_like_thisNote that the name of the file can be the same when it is in two different directories and yet represent two different files.
In addition, the Unix filesystem is case sensitive. This means that a filename with lower case letters is different than a filename that uses the same characters in uppercase or mixed case.
Other operating systems, such as MS-DOS and Netware, may have limitations on the length of filenames. For example, MS-DOS and Netware each limit the length of the filenames to eight characters with three characters for the extension. Examples of MS-DOS and Netware filenames are:    /dirName1/dirName2/filename.ext    /dirName1/dirName2/dirName3/filename.extOther operating systems, such as iSeries hosts running OS/400, have the limitation in which the native filesystem cannot have directories within directories, i.e. there is no hierarchical filesystem, and the filenames of directories or files cannot be longer than 10 characters. Thus, in an OS/400 operating system, the filenames are of the type:    DIRNAME1/FILENAME    DIRNAME2/FILENAMEMoreover, this filesystem is not case sensitive. Thus, a filename that uses lowercase characters is the same as a filename that uses the same characters in upper case or mixed case.
Because of this difference in the capabilities of the filesystems of the various platforms, there are two basic ways that an application designed to be used with a plurality of platforms may be made compatible with a plurality of platforms. First, the set of files for the application may be the same for all platforms. This would require that the files conform to the most restricted filesystem requirements, i.e. filenames with no more than ten characters and no hierarchical directory structures.
Second, there may be several different sets of files, one for each platform. In this way, one operating system filesystem would not be limited to the filesystem naming requirements of the most restrictive filesystem and the inability to use hierarchical directory structures. The tradeoff, however, is that several sets of source files must be maintained, thereby increasing the complexity of supporting multiple platforms.
Neither of the two above options provides an optimum solution to making applications compatible with a plurality of platforms. In the first case, the application must be designed within the limitations of the most restrictive filesystem. In the second case, the complexity and overhead of maintaining multiple sets of source files makes this solution undesirable. Therefore, it would be beneficial to have an apparatus and method for porting applications to multiple platforms that avoids the drawbacks of the prior art noted above.